home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 10 / AACD 10.iso / AACD / Games / MAME / src / sound / tms36xx.h < prev    next >
C/C++ Source or Header  |  2000-03-13  |  1KB  |  35 lines

  1. #ifndef TMS36XX_SOUND_H
  2. #define TMS36XX_SOUND_H
  3.  
  4. #define MAX_TMS36XX 4
  5.  
  6. /* subtypes */
  7. #define MM6221AA    21      /* Phoenix (fixed melodies) */
  8. #define TMS3615     15        /* Naughty Boy, Pleiads (13 notes, one output) */
  9. #define TMS3617     17        /* Monster Bash (13 notes, six outputs) */
  10.  
  11. /* The interface structure */
  12. struct TMS36XXinterface {
  13.     int num;
  14.     int mixing_level[MAX_TMS36XX];
  15.     int subtype[MAX_TMS36XX];
  16.     int basefreq[MAX_TMS36XX];        /* base frequecnies of the chips */
  17.     double decay[MAX_TMS36XX][6];    /* decay times for the six harmonic notes */
  18.     double speed[MAX_TMS36XX];        /* tune speed (meaningful for the TMS3615 only) */
  19. };
  20.  
  21. extern int tms36xx_sh_start(const struct MachineSound *msound);
  22. extern void tms36xx_sh_stop(void);
  23. extern void tms36xx_sh_update(void);
  24.  
  25. /* MM6221AA interface functions */
  26. extern void mm6221aa_tune_w(int chip, int tune);
  27.  
  28. /* TMS3615/17 interface functions */
  29. extern void tms36xx_note_w(int chip, int octave, int note);
  30.  
  31. /* TMS3617 interface functions */
  32. extern void tms3617_enable_w(int chip, int enable);
  33.  
  34. #endif
  35.